home *** CD-ROM | disk | FTP | other *** search
/ Aminet 45 / Aminet 45 (2001)(GTI - Schatztruhe)[!][Oct 2001].iso / Aminet / dev / misc / fd2pragma.lha / fd2pragma / Scripts / vbcc / amigappc / MakeALIB.script next >
AmigaDOS Script File  |  2001-07-31  |  13KB  |  306 lines

  1. .key -sd/S
  2.  
  3. if not exists MakeALIB.script
  4.   echo "Please change first to the script's directory!"
  5.   quit
  6. endif
  7.  
  8. assign _CLIB_: Develop:Asm/NDUK40/Include_h/clib
  9. assign _CLIB_: Develop:CC/netinclude/clib ADD
  10. assign _CLIB_: ADCD_2.1:NDK/NDK_3.5/Include/include_h/clib ADD
  11. assign _CLIB_: PPC-CDROM:PPCRelease/include/powerup/clib ADD
  12.  
  13. set temp T:
  14. set fdLVOflags special 106 to $temp
  15.  
  16. if "<-sd>" EQ ""
  17.   set lbmodel large data
  18.   set alibnam libamiga.a
  19.   set fdflags special 76 to $temp onlycnames
  20.   set vcflags +ppc -O1 -D__SASC -IPPCRelease:ppc-dev/include
  21. else
  22.   set lbmodel small data
  23.   set alibnam libamigas.a
  24.   set fdflags special 76 to $temp smalldata onlycnames
  25.   set vcflags +ppc -O1 -sd -D__SASC -IPPCRelease:ppc-dev/include
  26. endif
  27.  
  28. echo "Checking for required commands. Stopping if missing.*N"
  29.  
  30. failat 5
  31.   echo noline "which    : "
  32.     which which                 ;stop if missing. :-)
  33.   echo noline "copy     : "
  34.     which copy
  35.   echo noline "delete   : "
  36.     which delete
  37.   echo noline "execute  : "
  38.     which execute
  39.   echo noline "ar       : "
  40.     which ar
  41.   echo noline "list     : "
  42.     which list
  43.   echo noline "spat     : "
  44.     which spat
  45.   echo noline "fd2pragma: "
  46.     which fd2pragma
  47.   echo noline "vc       : "
  48.     which vc
  49. failat 20
  50.  
  51. echo "*NCompiling $alibnam with $lbmodel model. This may take some time..."
  52.   delete t:($alibnam|#?.(s|o|a|lib)) quiet >nil:
  53. echo "*NProcessing FDs..."
  54.   failat 21
  55.  
  56. echo "*NGenerating stub functions..."
  57.   ; OS3.1 libraries
  58.   fd2pragma $fdflags FD:amigaguide_lib.fd clib _CLIB_:amigaguide_protos.h
  59.   fd2pragma $fdflags FD:asl_lib.fd clib _CLIB_:asl_protos.h
  60.   fd2pragma $fdflags FD:battclock_lib.fd clib _CLIB_:battclock_protos.h
  61.   fd2pragma $fdflags FD:battmem_lib.fd clib _CLIB_:battmem_protos.h
  62.   fd2pragma $fdflags FD:bullet_lib.fd clib _CLIB_:bullet_protos.h
  63.   fd2pragma $fdflags FD:cardres_lib.fd clib _CLIB_:cardres_protos.h
  64.   fd2pragma $fdflags FD:cia_lib.fd clib _CLIB_:clib/cia_protos.h
  65.   fd2pragma $fdflags FD:colorwheel_lib.fd clib _CLIB_:colorwheel_protos.h
  66.   fd2pragma $fdflags FD:commodities_lib.fd clib _CLIB_:commodities_protos.h
  67.   fd2pragma $fdflags FD:console_lib.fd clib _CLIB_:console_protos.h
  68.   fd2pragma $fdflags FD:datatypes_lib.fd clib _CLIB_:datatypes_protos.h
  69.   fd2pragma $fdflags FD:diskfont_lib.fd clib _CLIB_:diskfont_protos.h
  70.   fd2pragma $fdflags FD:disk_lib.fd clib _CLIB_:disk_protos.h
  71.   fd2pragma $fdflags FD:dos_lib.fd clib _CLIB_:dos_protos.h
  72.   fd2pragma $fdflags FD:dtclass_lib.fd clib _CLIB_:dtclass_protos.h
  73.   fd2pragma $fdflags FD:exec_lib.fd clib _CLIB_:exec_protos.h
  74.   fd2pragma $fdflags FD:expansion_lib.fd clib _CLIB_:expansion_protos.h
  75.   fd2pragma $fdflags FD:gadtools_lib.fd clib _CLIB_:gadtools_protos.h
  76.   fd2pragma $fdflags FD:graphics_lib.fd clib _CLIB_:graphics_protos.h
  77.   fd2pragma $fdflags FD:icon_lib.fd clib _CLIB_:icon_protos.h
  78.   fd2pragma $fdflags FD:iffparse_lib.fd clib _CLIB_:iffparse_protos.h
  79.   fd2pragma $fdflags FD:input_lib.fd clib _CLIB_:input_protos.h
  80.   fd2pragma $fdflags FD:intuition_lib.fd clib _CLIB_:intuition_protos.h
  81.   fd2pragma $fdflags FD:keymap_lib.fd clib _CLIB_:keymap_protos.h
  82.   fd2pragma $fdflags FD:layers_lib.fd clib _CLIB_:layers_protos.h
  83.   fd2pragma $fdflags FD:locale_lib.fd clib _CLIB_:locale_protos.h
  84.   fd2pragma $fdflags FD:lowlevel_lib.fd clib _CLIB_:lowlevel_protos.h
  85.   fd2pragma $fdflags FD:mathffp_lib.fd clib _CLIB_:mathffp_protos.h
  86.   fd2pragma $fdflags FD:mathieeedoubbas_lib.fd clib _CLIB_:mathieeedoubbas_protos.h
  87.   fd2pragma $fdflags FD:mathieeedoubtrans_lib.fd clib _CLIB_:mathieeedoubtrans_protos.h
  88.   fd2pragma $fdflags FD:mathieeesingbas_lib.fd clib _CLIB_:mathieeesingbas_protos.h
  89.   fd2pragma $fdflags FD:mathieeesingtrans_lib.fd clib _CLIB_:mathieeesingtrans_protos.h
  90.   fd2pragma $fdflags FD:mathtrans_lib.fd clib _CLIB_:mathtrans_protos.h
  91.   fd2pragma $fdflags FD:misc_lib.fd clib _CLIB_:misc_protos.h
  92.   fd2pragma $fdflags FD:nonvolatile_lib.fd clib _CLIB_:nonvolatile_protos.h
  93.   fd2pragma $fdflags FD:potgo_lib.fd clib _CLIB_:potgo_protos.h
  94.   fd2pragma $fdflags FD:ramdrive_lib.fd clib _CLIB_:ramdrive_protos.h
  95.   fd2pragma $fdflags FD:realtime_lib.fd clib _CLIB_:realtime_protos.h
  96.   fd2pragma $fdflags FD:rexxsyslib_lib.fd clib _CLIB_:rexxsyslib_protos.h
  97.   fd2pragma $fdflags FD:timer_lib.fd clib _CLIB_:timer_protos.h
  98.   fd2pragma $fdflags FD:translator_lib.fd clib _CLIB_:translator_protos.h
  99.   fd2pragma $fdflags FD:utility_lib.fd clib _CLIB_:utility_protos.h
  100.   fd2pragma $fdflags FD:wb_lib.fd clib _CLIB_:wb_protos.h
  101.   ; OS3.5 libraries
  102.   fd2pragma $fdflags FD:aml_lib.fd clib _CLIB_:aml_protos.h
  103.   fd2pragma $fdflags FD:arexx_lib.fd clib _CLIB_:arexx_protos.h
  104.   fd2pragma $fdflags FD:bevel_lib.fd clib _CLIB_:bevel_protos.h
  105.   fd2pragma $fdflags FD:bitmap_lib.fd clib _CLIB_:bitmap_protos.h
  106.   fd2pragma $fdflags FD:button_lib.fd clib _CLIB_:button_protos.h
  107.   fd2pragma $fdflags FD:checkbox_lib.fd clib _CLIB_:checkbox_protos.h
  108.   fd2pragma $fdflags FD:chooser_lib.fd clib _CLIB_:chooser_protos.h
  109.   fd2pragma $fdflags FD:clicktab_lib.fd clib _CLIB_:clicktab_protos.h
  110.   fd2pragma $fdflags FD:datebrowser_lib.fd clib _CLIB_:datebrowser_protos.h
  111.   fd2pragma $fdflags FD:drawlist_lib.fd clib _CLIB_:drawlist_protos.h
  112.   fd2pragma $fdflags FD:fuelgauge_lib.fd clib _CLIB_:fuelgauge_protos.h
  113.   fd2pragma $fdflags FD:getfile_lib.fd clib _CLIB_:getfile_protos.h
  114.   fd2pragma $fdflags FD:getfont_lib.fd clib _CLIB_:getfont_protos.h
  115.   fd2pragma $fdflags FD:getscreenmode_lib.fd clib _CLIB_:getscreenmode_protos.h
  116.   fd2pragma $fdflags FD:glyph_lib.fd clib _CLIB_:glyph_protos.h
  117.   fd2pragma $fdflags FD:hdwrench_lib.fd clib _CLIB_:hdwrench_protos.h
  118.   fd2pragma $fdflags FD:integer_lib.fd clib _CLIB_:integer_protos.h
  119.   fd2pragma $fdflags FD:label_lib.fd clib _CLIB_:label_protos.h
  120.   fd2pragma $fdflags FD:layout_lib.fd clib _CLIB_:layout_protos.h
  121.   fd2pragma $fdflags FD:listbrowser_lib.fd clib _CLIB_:listbrowser_protos.h
  122.   fd2pragma $fdflags FD:palette_lib.fd clib _CLIB_:palette_protos.h
  123.   fd2pragma $fdflags FD:penmap_lib.fd clib _CLIB_:penmap_protos.h
  124.   fd2pragma $fdflags FD:popcycle_lib.fd clib _CLIB_:popcycle_protos.h
  125.   fd2pragma $fdflags FD:radiobutton_lib.fd clib _CLIB_:radiobutton_protos.h
  126.   fd2pragma $fdflags FD:requester_lib.fd clib _CLIB_:requester_protos.h
  127.   fd2pragma $fdflags FD:scroller_lib.fd clib _CLIB_:scroller_protos.h
  128.   fd2pragma $fdflags FD:slider_lib.fd clib _CLIB_:slider_protos.h
  129.   fd2pragma $fdflags FD:space_lib.fd clib _CLIB_:space_protos.h
  130.   fd2pragma $fdflags FD:speedbar_lib.fd clib _CLIB_:speedbar_protos.h
  131.   fd2pragma $fdflags FD:string_lib.fd clib _CLIB_:string_protos.h
  132.   fd2pragma $fdflags FD:texteditor_lib.fd clib _CLIB_:texteditor_protos.h
  133.   fd2pragma $fdflags FD:textfield_lib.fd clib _CLIB_:textfield_protos.h
  134.   fd2pragma $fdflags FD:window_lib.fd clib _CLIB_:window_protos.h
  135.   ; Third party libraries
  136.   fd2pragma $fdflags FD:ahi_lib.fd clib _CLIB_:ahi_protos.h
  137.   fd2pragma $fdflags FD:ahi_sub_lib.fd clib _CLIB_:ahi_sub_protos.h
  138.   fd2pragma $fdflags FD:cgxdither_lib.fd clib _CLIB_:cgxdither_protos.h
  139.   fd2pragma $fdflags FD:cgxsystem_lib.fd clib _CLIB_:cgxsystem_protos.h basename CGXSystemBase
  140.   fd2pragma $fdflags FD:cgxvideo_lib.fd clib _CLIB_:cgxvideo_protos.h
  141.   fd2pragma $fdflags FD:chunkyppc_lib.fd clib _CLIB_:chunkyppc_protos.h
  142.   fd2pragma $fdflags FD:cybergraphics_lib.fd clib _CLIB_:cybergraphics_protos.h
  143.   fd2pragma $fdflags FD:muiclass_lib.fd
  144.   fd2pragma $fdflags FD:muimaster_lib.fd clib _CLIB_:muimaster_protos.h
  145. ;  fd2pragma $fdflags FD:multiuser_lib.fd clib _CLIB_:multiuser_protos.h
  146.   fd2pragma $fdflags FD:Picasso96API.fd clib _CLIB_:Picasso96_protos.h
  147.   fd2pragma $fdflags FD:powerpc_lib.fd clib _CLIB_:powerpc_protos.h
  148.   fd2pragma $fdflags FD:ppcdiss_lib.fd clib _CLIB_:ppcdiss_protos.h
  149. ;  fd2pragma $fdflags FD:ppc_lib.fd clib _CLIB_:ppc_protos.h
  150. ;  fd2pragma $fdflags FD:reqtools_lib.fd clib _CLIB_:reqtools_protos.h
  151.   fd2pragma $fdflags FD:rtgmaster_lib.fd clib _CLIB_:rtgmaster_protos.h
  152.   fd2pragma $fdflags FD:socket_lib.fd clib _CLIB_:socket_protos.h
  153.   fd2pragma $fdflags FD:triton_lib.fd ;clib _CLIB_:triton_protos.h
  154.   fd2pragma $fdflags FD:Warp3D.fd clib _CLIB_:Warp3D_protos.h
  155.   fd2pragma $fdflags FD:wizard_lib.fd clib _CLIB_:wizard_protos.h
  156.  
  157. echo "*NGenerating LVOs..."
  158.   ; OS3.1 libraries
  159.   fd2pragma $fdLVOflags FD:amigaguide_lib.fd
  160.   fd2pragma $fdLVOflags FD:asl_lib.fd
  161.   fd2pragma $fdLVOflags FD:battclock_lib.fd
  162.   fd2pragma $fdLVOflags FD:battmem_lib.fd
  163.   fd2pragma $fdLVOflags FD:bullet_lib.fd
  164.   fd2pragma $fdLVOflags FD:cardres_lib.fd
  165. ; fd2pragma $fdLVOflags FD:cia_lib.fd        ; doesn't work!
  166.   fd2pragma $fdLVOflags FD:colorwheel_lib.fd
  167.   fd2pragma $fdLVOflags FD:commodities_lib.fd
  168.   fd2pragma $fdLVOflags FD:console_lib.fd
  169.   fd2pragma $fdLVOflags FD:datatypes_lib.fd
  170.   fd2pragma $fdLVOflags FD:diskfont_lib.fd
  171.   fd2pragma $fdLVOflags FD:disk_lib.fd
  172.   fd2pragma $fdLVOflags FD:dos_lib.fd
  173.   fd2pragma $fdLVOflags FD:dtclass_lib.fd
  174.   fd2pragma $fdLVOflags FD:exec_lib.fd
  175.   fd2pragma $fdLVOflags FD:expansion_lib.fd
  176.   fd2pragma $fdLVOflags FD:gadtools_lib.fd
  177.   fd2pragma $fdLVOflags FD:graphics_lib.fd
  178.   fd2pragma $fdLVOflags FD:icon_lib.fd
  179.   fd2pragma $fdLVOflags FD:iffparse_lib.fd
  180.   fd2pragma $fdLVOflags FD:input_lib.fd
  181.   fd2pragma $fdLVOflags FD:intuition_lib.fd
  182.   fd2pragma $fdLVOflags FD:keymap_lib.fd
  183.   fd2pragma $fdLVOflags FD:layers_lib.fd
  184.   fd2pragma $fdLVOflags FD:locale_lib.fd
  185.   fd2pragma $fdLVOflags FD:lowlevel_lib.fd
  186.   fd2pragma $fdLVOflags FD:mathffp_lib.fd
  187.   fd2pragma $fdLVOflags FD:mathieeedoubbas_lib.fd
  188.   fd2pragma $fdLVOflags FD:mathieeedoubtrans_lib.fd
  189.   fd2pragma $fdLVOflags FD:mathieeesingbas_lib.fd
  190.   fd2pragma $fdLVOflags FD:mathieeesingtrans_lib.fd
  191.   fd2pragma $fdLVOflags FD:mathtrans_lib.fd
  192.   fd2pragma $fdLVOflags FD:misc_lib.fd
  193.   fd2pragma $fdLVOflags FD:nonvolatile_lib.fd
  194.   fd2pragma $fdLVOflags FD:potgo_lib.fd
  195.   fd2pragma $fdLVOflags FD:ramdrive_lib.fd
  196.   fd2pragma $fdLVOflags FD:realtime_lib.fd
  197.   fd2pragma $fdLVOflags FD:rexxsyslib_lib.fd
  198.   fd2pragma $fdLVOflags FD:timer_lib.fd
  199.   fd2pragma $fdLVOflags FD:translator_lib.fd
  200.   fd2pragma $fdLVOflags FD:utility_lib.fd
  201.   fd2pragma $fdLVOflags FD:wb_lib.fd
  202.   ; OS3.5 libraries
  203.   fd2pragma $fdLVOflags FD:aml_lib.fd
  204.   fd2pragma $fdLVOflags FD:arexx_lib.fd 
  205.   fd2pragma $fdLVOflags FD:bevel_lib.fd
  206.   fd2pragma $fdLVOflags FD:bitmap_lib.fd
  207.   fd2pragma $fdLVOflags FD:button_lib.fd
  208.   fd2pragma $fdLVOflags FD:checkbox_lib.fd
  209.   fd2pragma $fdLVOflags FD:chooser_lib.fd
  210.   fd2pragma $fdLVOflags FD:clicktab_lib.fd
  211.   fd2pragma $fdLVOflags FD:datebrowser_lib.fd
  212.   fd2pragma $fdLVOflags FD:drawlist_lib.fd
  213.   fd2pragma $fdLVOflags FD:fuelgauge_lib.fd
  214.   fd2pragma $fdLVOflags FD:getfile_lib.fd
  215.   fd2pragma $fdLVOflags FD:getfont_lib.fd
  216.   fd2pragma $fdLVOflags FD:getscreenmode_lib.fd
  217.   fd2pragma $fdLVOflags FD:glyph_lib.fd
  218.   fd2pragma $fdLVOflags FD:hdwrench_lib.fd
  219.   fd2pragma $fdLVOflags FD:integer_lib.fd
  220.   fd2pragma $fdLVOflags FD:label_lib.fd
  221.   fd2pragma $fdLVOflags FD:layout_lib.fd
  222.   fd2pragma $fdLVOflags FD:listbrowser_lib.fd
  223.   fd2pragma $fdLVOflags FD:palette_lib.fd
  224.   fd2pragma $fdLVOflags FD:penmap_lib.fd
  225.   fd2pragma $fdLVOflags FD:popcycle_lib.fd
  226.   fd2pragma $fdLVOflags FD:radiobutton_lib.fd
  227.   fd2pragma $fdLVOflags FD:requester_lib.fd
  228.   fd2pragma $fdLVOflags FD:scroller_lib.fd
  229.   fd2pragma $fdLVOflags FD:slider_lib.fd
  230.   fd2pragma $fdLVOflags FD:space_lib.fd
  231.   fd2pragma $fdLVOflags FD:speedbar_lib.fd
  232.   fd2pragma $fdLVOflags FD:string_lib.fd
  233.   fd2pragma $fdLVOflags FD:texteditor_lib.fd
  234.   fd2pragma $fdLVOflags FD:textfield_lib.fd
  235.   fd2pragma $fdLVOflags FD:window_lib.fd
  236.   ; Third party libraries
  237.   fd2pragma $fdLVOflags FD:ahi_lib.fd
  238.   fd2pragma $fdLVOflags FD:ahi_sub_lib.fd
  239.   fd2pragma $fdLVOflags FD:cgxdither_lib.fd
  240.   fd2pragma $fdLVOflags FD:cgxsystem_lib.fd basename CGXSystemBase
  241.   fd2pragma $fdLVOflags FD:cgxvideo_lib.fd
  242.   fd2pragma $fdLVOflags FD:chunkyppc_lib.fd
  243.   fd2pragma $fdLVOflags FD:cybergraphics_lib.fd
  244.   fd2pragma $fdLVOflags FD:muiclass_lib.fd
  245.   fd2pragma $fdLVOflags FD:muimaster_lib.fd
  246.   fd2pragma $fdLVOflags FD:multiuser_lib.fd
  247.   fd2pragma $fdLVOflags FD:Picasso96API.fd
  248.   fd2pragma $fdLVOflags FD:powerpc_lib.fd
  249.   fd2pragma $fdLVOflags FD:ppcdiss_lib.fd
  250.   fd2pragma $fdLVOflags FD:ppc_lib.fd
  251.   fd2pragma $fdLVOflags FD:reqtools_lib.fd
  252.   fd2pragma $fdLVOflags FD:rtgmaster_lib.fd
  253.   fd2pragma $fdLVOflags FD:socket_lib.fd
  254.   fd2pragma $fdLVOflags FD:triton_lib.fd
  255.   fd2pragma $fdLVOflags FD:Warp3D.fd
  256.   fd2pragma $fdLVOflags FD:wizard_lib.fd
  257.   failat 20
  258.  
  259. echo "*NCompiling/Assembling support routines..."
  260.   vc $vcflags -c #?.(c|s)
  261.  
  262. echo "*NExtracting objects from library archives..."
  263.   cd > ${temp}cdir
  264.   cd $temp
  265.   spat "ar x" lib#?.a
  266.   cd `type ${temp}cdir`
  267.   delete force quiet ${temp}cdir
  268.  
  269. echo "*NCreating new archive..."
  270.   ar q ${temp}${alibnam}_ #?.o ${temp}#?.o
  271.  
  272. echo "*NCleaning up..."
  273.   delete ${temp}#?.(s|o|a|lib) #?.o quiet
  274.   rename ${temp}${alibnam}_ ${temp}${alibnam}
  275.  
  276. unset vcflags
  277. unset fdflags
  278. unset fdLVOflags
  279. unset lbmodel
  280.  
  281. set instto $temp
  282.  
  283. which >nil: ask
  284. if not warn
  285.   ask "*NInstall $alibnam to vlibppc: (y/n)?"
  286.   if warn
  287.     set instto vlibppc:
  288.     failat 21
  289.     copy >nil: ${temp}$alibnam $instto
  290.     if not fail
  291.       delete ${temp}$alibnam quiet
  292.     endif
  293.     failat 20
  294.   endif
  295. endif
  296.  
  297. if exists ${instto}${alibnam}
  298.   echo "*N*N...poooh... $alibnam can be found in ${instto}."
  299. else
  300.   echo "*N*NInstallation error!"
  301. endif
  302.  
  303. unset instto
  304. unset alibnam
  305. assign _CLIB_: REMOVE
  306.